Systems and methods for mapping and analyzing networks

ABSTRACT

Systems and Methods for mapping and analyzing networks are taught. Network line data is converted into point data. The point data is associated with cells of a grid overlaying the network. A number of points in each of the cells of the grid is determined. The number of points in one cell of the grid is compared to the number of points in other cells of the grid to determine the infrastructure in each of the cells of the grid. It is determined how the infrastructure in one cell is spatially related to the infrastructure in other cells in order to rank cell criticality. Cell criticality rankings are sequentially removed from the grid to determine consequential impact on network properties of the grid.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 13/777,124, filed Feb. 26, 2013, which is a continuation of U.S. patent application Ser. No. 12/411,958, filed Mar. 26, 2009 (Now U.S. Pat. No. 8,422,399), which is a continuation of U.S. patent application Ser. No. 10/902,283, filed Jul. 30, 2004 (Now U.S. Pat. No. 7,529,195), the disclosures of which are incorporated by reference in their entireties.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 illustrates a system for mapping and analyzing a network, according to one embodiment of the present invention.

FIG. 2 illustrates an example of a grid with attribute information, according to one embodiment of the invention.

FIG. 3 illustrates a method for mapping and analyzing a network, according to one embodiment of the present invention.

FIGS. 4-5 illustrate examples of the method for mapping and analyzing a network, according to one embodiment of the present invention.

FIG. 6 illustrates an example of a density analysis, according to one embodiment of the present invention.

FIGS. 7-9 illustrate the weighted density analysis, according to one embodiment of the present invention.

FIGS. 10-11 illustrate examples of an interdependency analysis, according to one embodiment of the present invention.

FIGS. 12-13 illustrate examples of a choke point analysis, according to one embodiment of the present invention.

FIGS. 14-16 illustrate examples of a cell disjoint path analysis, according to one embodiment of the present invention.

FIGS. 17-21 illustrate features of a network failure simulation, according to one embodiment of the present invention.

DESCRIPTION OF SEVERAL EMBODIMENTS OF THE INVENTION

System

FIG. 1 illustrates a system for mapping and analyzing a network, according to one embodiment of the present invention. The system includes a storage database 105, which includes the following: a network line file 110, storing line data from a spatial network; a network point file 115, storing network data that has been converted into points; a network point/attribute file 120, storing network point data including attribute information assigned to points; and a network grid file 125, storing point data associated with grid information. For example, the grid could be stored with attributes for each cell based on the point data in each cell, as illustrated in FIG. 2.

The system also includes a geographic information system (GIS) 130, which includes a line to point converter program 135, a point/attribute assignment program 140, a grid generator program 145, and a weight assignment program 150. Furthermore, the GIS 130 can include: a density analysis/surface mapping program 155, an interdependency analysis program 160, a failure simulation program 165, or a disjoint path analysis program 170, or any combination thereof. The system can use any GIS platform, including open source GIS systems to uniquely combine algorithms, scripts, and processes to an analytic output. The line to point converter program 135 transfers the original spatial network vector (i.e., line) data into points. The point/attribute assignment program 140 assigns attributes to each point from the original network vector data. The grid generator program 145 applies a grid to the data and associates point data to cells in the grid. The weight assignment program 150 assigns a weight to each point. The density analysis/surface mapping program 155 calculates the number of points within each cell in the grid. The interdependency analysis program 160 compares the points of two networks to each other. The failure simulation program 165 and the disjoint path analysis program 170 analyze network effects and how infrastructure in one cell is spatially related to infrastructure in other cells. This embodiment analyzes a spatial network using a GIS 130. Spatial networks include any network that has a geographic reference to it, and can be presented in a coordinate system. Of course, other types of logical networks can be analyzed using any system for characterizing the network.

The system also includes a user interface 175, which can generate a 3-D vulnerability topology map 180, a vulnerability heat map 185, a statistical and numeric output map 190, or a disjoint path visualization heat map 195. In the 3-D vulnerability topology map 180, x and y represent the position on a two-dimensional axis in which the map lies, and z represents the height and indicates the level of network density or vulnerability depending on interpretation. The vulnerability heat map 185 presents variation in cell value with different colors (i.e., high values could be red fading to blue as values decreased), much like a choropleth map. The statistical and numeric output map 190 presents actual mathematical values calculated for each cell as non-visual output. The disjoint path visualization heat map 195 presents routing alternatives between two or more discrete points in the network, while also showing areas of the network that are vulnerable. Using the example above of a heat map fading from red to blue, the disjoint path heat map would illustrate alternative routes that avoided red (i.e., vulnerable) areas.

The line data can comprise, but is not limited to: satellite imagery data; or digitized map data; or any combination thereof. The network data can comprise, but is not limited to: static network data; dynamic network data; satellite network data; telecommunication data; marketing data; demographic data; business data; right-of-way routing data; or regional location data; or any combination thereof. The telecommunication data can comprise, but is not limited to: metropolitan area fiber data; long haul fiber data; co-location facilities data; internet exchanges data; wireless tower data; wire center data; undersea cables data; undersea cable landings data; or data center data; or any combination thereof. The right-of-way routing data can comprise, but is not limited to: gas pipeline data; oil pipeline data; highway data; rail data; or electric power transmission lines data; or any combination thereof. The static network data can comprise, but is not limited to: ip network data; or network topology data; or any combination thereof. The dynamic network data can comprise, but is not limited to network traffic data. The regional location data can comprise, but is not limited to: continent information; nation information; state information; county information; zip code information; census block information; census track information; time information; metropolitan information; or functional information; or any combination thereof. The functional information is defined by using, for example, but not limited to: a formula; a federal reserve bank region; a trade zone; a census region; or a monetary region; or any combination thereof.

The network data can be obtained by, for example, but not limited to: purchasing data; manually constructing data; mining data from external sources; probing networks; tracing networks; accessing proprietary data; or digitizing hard copy data; or any combination thereof.

Method

FIG. 3 illustrates a method for mapping and analyzing a network, according to one embodiment of the present invention. In step 305, the spatial network line (i.e., vector) data is loaded from the network line file into the GIS 130. In step 310, the network line data is converted into points using the line to point converter program 135, and is saved as a network point file 115. In order to convert the network line data into point data a script is loaded to execute this function. When the line data is converted to points, parameters can be set by the user (e.g., the total number of points the user wants created, the distance between consecutive points, etc.). As the number of points becomes higher, the analysis becomes more granular, but also more computationally taxing.

In step 315, attributes are assigned to each point by fusing the attribute data file with the network point file, creating a network point/attribute file. The attribute data is derived from the original network. The attribute data allows each point to have its own weight (e.g., capacity, diameter, traffic, voltage, bandwidth, etc.) In step 320, a network grid is integrated with the network point/attribute file. The result is saved as a network grid file. The network grid encompasses the area of interest. A variety of scripts are available to create a grid overlay. The size of the grid cell can be set in accordance with the desired granularity of results. Grid size can range from a few meters to several kilometers, or higher, allowing a wide variety of scales to be achieved.

In step 325, now that points and a grid have been created, calculations using the points and the grid, saved in the network grid file, are used to perform different types of analyses (e.g., vulnerability analysis) on the network. For example, as illustrated in FIG. 4, within each cell of the grid, computations can be made based on the points contained within each cell. Thus, starting with the first cell in the upper left hand corner, and numbering each cell moving from left to the right, the resulting tables counting the points in each cell would be shown in FIG. 5.

In step 330, calculations regarding cell criticality, including ranking of cell criticality, can be made. In step 335, information from step 330 can be utilized to perform network failure simulations. In step 340, cell disjoint analysis can be performed. In step 345, genetic algorithms can be used to solve multicriteria disjoint routing problems. Of course, any one of steps 330-345 can be performed, or any combination thereof.

Measuring the Criticality of Cells

The criticality of cells can be measured in a number of ways, including, but not limited to: a density analysis, a weighted density analysis, an interdependency analysis, a choke-point analysis, or any combination of multiplying, adding, dividing, normalizing, logging, powering, or any other mathematical or statistical operation to the points of one or more networks in a grid cell.

Density Analysis.

In a density analysis, the number of points within each cell is calculated, and is assigned to each cell. The numeric value of the grid cell signifies the relative concentration of network resources in a specified geographic area. This allows the identification of areas with low levels of geographic diversity but high levels of network infrastructure, which could be bottlenecks or points of vulnerability.

For example, as illustrated in FIG. 6, a density analysis of the electric power grid illustrates that the highest density of electric transmission lines with the least amount of diversity coincides with the area in Ohio that has been named as the origin of the Northeast Blackout in August of 2003.

These results can be presented visually in a variety of ways. The value of each grid cell can be assigned a z-value in accordance with its calculated value. The z-values of all the grid cells can then be plotted as a three dimensional map where height indicates the level of network density or vulnerability depending on interpretation. Further, these three-dimensional maps can be animated and a fly through provided. The results can also be presented as a choropleth map where different colors signify the calculated value of the grid cell. The end result can be a heat map of network density or vulnerability.

Weighted Density Analysis.

Unlike traditional matrix methods, the weighted density analysis approach allows for the inclusion of weights for very large and complex networks. Along with calculating the number of points in each cell, the weight of each point can be considered as well. The first possible function is adding together the sum of weights for all points in a cell. Second, a ratio can be computed of the total weight of each cell divided by the number of points in each cell. The values within each cell can be added, subtracted, logged, powered, normalized, divided, or multiplied depending on the desires of the user. The same visualization techniques outlined above under the density analysis can be used here as well.

For example, FIGS. 7-8 illustrate a weighted density analysis (FIG. 8) and a regular density analysis (FIG. 7) for the North America gas pipeline network. In addition to looking at the number of points in a cell and the capacity of points in those cells, algorithms can be run where these two variables are used in calculations. For example, the capacity of a cell could be divided by the density of a cell to discover areas that have more capacity than density (i.e., diversity), identifying, for example, bottlenecks in the network. The output of such an approach is illustrated in FIG. 9 for the North American gas pipeline network.

Interdependency Analysis.

In addition to analyzing single network infrastructures, multiple networks can be studied to determine their spatial interdependency. The same procedures as above are followed except two or more networks are loaded into the GIS 130. Line data in each network are separately converted into points and assigned attributes from their respective databases. Once this has been accomplished a grid can be employed and calculations achieved. Specifically by analyzing two or more networks concurrently one can identify specific geographic locations where there is high density or vulnerability for both, a spatial interdependency. This can be done in a variety of combinations integrating the number of points and a variety of weights then adding, subtracting, logging, powering, normalizing, dividing, or multiplying for all possible network interdependency sequences. This can be visualized utilizing the means outlined above in the density analysis section.

For example, FIG. 10 is a grid density analysis that combines the fiber and power grids to analyze where there are common geographic interdependencies between the two infrastructures.

Along with analyzing the interdependencies between two or more networks, an analysis can be constructed that illustrates spatial interdependencies between a network and other fixed objects. For example, the spatial interdependence between bridges and telecommunication fibers or dams and power transmission lines can be studied. This is accomplished by calculating the intersection of points with the fixed object represented by polygons. This can be visualized utilizing the means outlined above in the density analysis section.

For example, FIG. 11 illustrates polygons that are critical bridges that intersect with fiber optic cable. The more fiber that interests with the bridge, the taller the corresponding red bar.

Choke-Point Analysis Using Spatial Statistics.

One of the shortcomings of the raster-based approach is that it ignores network effects or how infrastructure in one cell is spatially related to that in other cells. This is an important aspect to consider when defining the criticality of a cell or part of a network (i.e., the implications of destroying the infrastructure in a high-density cell that is geographically well-connected to several other cells in an area could be quite severe but the effects would not be as damaging if this same cell despite its density were geographically isolated).

To use spatial statistics it is necessary to define a contiguity matrix that describes how cells are located in space vis-à-vis one another based on some rule for adjacency. FIG. 12 illustrates a prototype network with a 10×10 grid overlay and reference numbers. The lines represent the network and the numbers in the cells are references for a contiguity matrix. The network is broken down into 35 cells by overlaying a 10×10 grid, extracting only those cells that contain sections of the network. Using the extracted cells, a 35×35 contiguity matrix is generated using the following rule: a cell is adjacent to another if it lies directly above, below, to the right, to the left or at any of the four diagonal positions. For any two pairs of cells, a 1 in the matrix indicates adjacency and a 0 non-adjacency. FIG. 13 illustrates the contiguity matrix generated for the prototype network. Each cell can also be assigned a weight, or non-zero number, that reflects some attribute of the network contained in that cell (e.g., capacity or density).

Some of the statistics available for identifying and measuring the criticality of cells based on adjacency relationships include: degree, betweenness, closeness, entropy, and weighted entropy. The degree of a cell is defined as the number of cells that are directly adjacent to it, as defined in the adjacency matrix The degree of a cell is a measure of the local connectedness of a cell, or portion of a network. Betweenness and closeness are two indicators derived from social network theory, and they are used to characterize the centrality of a cell in relation to the rest of the network. The closeness centrality of a cell is based on the average minimum distance of that cell to all other cells in the network. Betweenness centrality measures the extent to which a cell is an intermediate location for the minimum paths associated with all other pairs of cells. Entropy is a measure of disorder in a network based on the graph structure, where, for a particular cell, the value ranges from 0 to 1. A weighted entropy indicator is also calculated for each cell defined by the product of its entropy and capacity.

Cell Disjoint Path Analysis

A cell disjoint path analysis analyzes network effects and how infrastructure in one cell is spatially related to infrastructure in other cells. Two or more paths are completely disjoint if no cells are shared in the paths between two or more locations. Thus, the more cells that are shared by a plural paths, the less disjoint the paths are. The more that multiple paths are disjoint, the more resilient the network is to failures, since there are fewer shared cells in which failure can cause multiple paths to fail. If the connection of two locations is critical, then knowing how disjoint the paths are that connect them is crucial to understanding the resiliency and reliability of a network connecting them.

FIG. 14 displays a grid laid over a network line file (represented by the diagonal lines). The cells are assigned numbers. The cells containing a network point have a circle in the cell. Thus, the cells containing a network point are cells 1, 5, 7, 9, 13, 17, 19, 21, and 25. Attributes can also be assigned to the points based on a variety of factors. A cell adjacency list (i.e., connectivity edge list) can be created. For example, the cell adjacency list for the network in FIG. 14 is:

1,7

7,13

13,19

19,25

21,17

17,13

13,9

9,5

Once the cell adjacency list has been created, the number of disjoint paths between two nodes can be calculated. For example, in FIG. 14, if a node was located in each of cell 25 and cell 5, there is only one path between 25 and 5: 25, 19, 13, 9, 5. Thus, if any cell in that path failed, the nodes in cells 25 and 5 would no longer be able to communicate with each other, and the network would fail.

FIG. 15 illustrates the addition of another link to the same network. If an additional link, represented by the line covering 5, 10, 15, 20, and 25, were added to the network, the calculation would be different. With the addition of the new network link, there is now a second path between the node in cell 25 and 5 with the path—25, 20, 15, 10, and 5 (represented by the vertical line). The second link adds a second route to connect the nodes in cells 25 and 5. Thus, if a cell fails in the first path, there is now a second path to connect the two nodes together. This in turn doubles the resiliency of the network because there are now two paths instead of just one path to connect the two nodes. Furthermore, the two links are completely disjoint in that the two links do not share any cells. Failure in any one cell cannot cause both links to fail.

FIG. 16 illustrates a ring topology (including a ring of cells 2, 3, 4, 9, 14, 19, 18, 17, 12, 7, and back to 2) with two laterals (6 and 15) to respective clients. Ring topology is typical to telecommunication networks that are often laid in rings to provide two paths to customers. From the ring, customers are connected by laterals to the ring, as shown by cells 6 and 15. The cell adjacency list is:

6,7

7,2

2,3

3,4

4,9

9,14

14,15

14,19

19,18

19,17

17,12

12,7

The nodes for the logical network would be cells 6 and 15, because these nodes are where laterals are laid to connect customers to the network. Customers would have a node in their location connected to the network ring by a lateral. The disjoint paths between these two cells are not as obvious, because cells 7 and 14 are needed for both possible paths between the two nodes. In such a case, the following equation can be used to calculate cell disjointness of the paths.

${ED} = {1 - \frac{\sum l_{j}}{\sum\; l_{i}}}$ where j is the sum over the common cells of the two paths, i is the sum over the cells of the two paths, ED is edge disjointness, l_(j) is shared links or cells, and l_(i) is unshared links or cells. For the example illustrated in FIG. 16, cells 7 and 14 are needed for both paths, and thus l_(j) is 2. The total number of cells in the paths are 12, and thus l_(i) is 12. Thus ED=1−(2/12)=0.833. Thus, the paths are 83.3% disjoint.

The more multiple paths between nodes are disjoint, the more resilient the network is, because there are fewer shared cells that could fail more than one path/route in the network. Network paths with a high level of disjointness pose a lower risk of failure than paths with low levels of disjointness. This approach allows the grid and its adjacent cells to be turned back into a network, and theoretical measures can be graphed and used for analysis in a traditional matrix. This allows for failure simulations to be performed as outlined in the next section.

Network Failure Simulations

The error tolerance and attack tolerance of a network or set of interrelated networks can be analyzed by using the rankings of cell criticality described above, removing them sequentially from the grid, and examining different properties of the network as they are removed. There are several properties that can be observed and some of these include diameter, average geodescic distance, the degree of balkanization, cohesion and distance fragmentation. Diameter is the maximum distance necessary to travel between two nodes in the network measured by the number of links that comprise the route and average geodescic distance is the average distance in links between all combinations of nodes in the network. The degree of balkanization is the number of subnetworks, or disconnected parts of the network, at any point in the simulation. Cohesion and distance fragmentation are measures of connectivity derived from social network theory.

Cells are removed sequentially based on criticality and the degradation of the network observed. This is demonstrated using the prototype network shown in FIG. 12 and the measures of cell criticality described in the previous section. FIGS. 17-21 illustrate the results when, for each measure of criticality, the top ten most critical cells are removed in sequence. FIG. 17 illustrates the diameter. FIG. 18 represents the average geodescic distance. FIG. 19 illustrates Balkanization of the network. FIG. 20 illustrates cohesion. n terms of network resiliency. FIG. 21 illustrates distance fragmentation. The results of the simulations for the prototype network show that out of the six criticality indices used, degree appears to have the most immediate negative impact on all of the global properties examined. Entropy also has a strong negative impact, although the effects are more delayed.

CONCLUSION

While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein without departing from the spirit and scope of the present invention. Thus, the present invention should not be limited by any of the above-described exemplary embodiments.

In addition, it should be understood that the figures described above, which highlight the functionality and advantages of the present invention, are presented for example purposes only. The architecture of the present invention is sufficiently flexible and configurable, such that it may be utilized in ways other than that shown in the figures.

Further, the purpose of the Abstract is to enable the U.S. Patent and Trademark Office and the public generally, and especially the scientists, engineers and practitioners in the art who are not familiar with patent or legal terms or phraseology, to determine quickly from a cursory inspection the nature and essence of the technical disclosure of the application. The Abstract is not intended to be limiting as to the scope of the present invention in any way. 

What is claimed is:
 1. A computerized method for network mapping, the method performs by a computer comprising: converting network line data into point data; associating the point data with cells of a grid overlaying the network; determining a number of points in each of the cells of the grid; comparing the number of points in one cell of the grid to the number of points in other cells of the grid to determine the infrastructure in each of the cells of the grid; determining how the infrastructure in one cell is spatially related to the infrastructure in other cells in order to rank cell criticality; and sequentially removing cell criticality rankings from the grid to determine consequential impact on network properties of the grid, the network properties comprising: diameter, average geodesic distance, degree of balkanization, cohesion, or distance fragmentation, or any combination thereof.
 2. The method of claim 1, wherein the network line data comprises: static network data; dynamic network data; satellite network data; telecommunication data; marketing data; demographic data; business data; right-of-way routing data; regional location data; or any combination of the above.
 3. The method of claim 2, wherein the telecommunication data comprises: metropolitan area fiber data; long haul fiber data; co-location facilities data; internet exchanges data; wireless tower data; wire center data; undersea cables data; undersea cable landings data; data center data; or any combination of the above.
 4. The method of claim 2, wherein the right-of-way routing data comprises: gas pipeline data; oil pipeline data; highway data; rail data; electric power transmission lines data; or any combination of the above.
 5. The method of claim 2, wherein the static network data comprises: IP network data; network topology data; or any combination of the above.
 6. The method of claim 2, wherein the dynamic network data comprises network traffic data.
 7. The method of claim 2, wherein the regional location data comprises: continent information; nation information; state information; county information; zip code information; census block information; census track information; time information; metropolitan information; functional information; or any combination of the above.
 8. The method of claim 1, wherein attribute data is assigned to the point data.
 9. The method of claim 1, wherein the network is a spatial network.
 10. The method of claim 1, further comprising determining critical cells based on the cell criticality ranking.
 11. The method of claim 1, further comprising: removing at least one cell from the grid; and examining an effect on the network caused by removing the at least one cell.
 12. The method of claim 1, further comprising: creating a second network based on the relationship of point data to cells.
 13. The method of claim 12, further comprising: creating a cell adjacency list based on which cells are adjacent to each other; and determining disjoint paths between cells based on the cell adjacency list.
 14. The method of claim 13, wherein disjointness of paths is calculated utilizing a ratio of a sum of common cells of paths divided by a sum of the cells of the paths.
 15. The method of claim 1, wherein the network line data comprises: satellite imagery data; digitized map data; or any combination of the above.
 16. The method of claim 1, wherein the network line data is obtained by: purchasing data; manually constructing data; mining data from external sources; probing networks; tracing networks; accessing proprietary data; or digitizing hard copy data; or any combination of the above.
 17. The method of claim 16, wherein the functional information is defined using at least one of: a formula; a federal reserve bank region; a trade zone; a census region; or a monetary region; or any combination of the above.
 18. A system for network mapping, comprising: a computer coupled to a network and comprising a geographic information system (GIS), the GIS being configured to: convert network line data into point data; associate the point data with cells of a grid overlaying the network; determine a number of points in each of the cells of the grid; compare the number of points in one cell of the grid to the number of points in other cells of the grid to determine infrastructure in each of the cells of the grid; determine how the infrastructure in one cell is spatially related to the infrastructure in other cells in order to rank cell criticality; and sequentially remove cell criticality rankings from the grid to determine consequential impact on network properties of the grid, the network properties comprising: diameter, average geodesic distance, degree of balkanization, cohesion, or distance fragmentation, or any combination thereof.
 19. The system of claim 18, wherein the GIS is configured to perform processing associated with assigning attribute data to the point data.
 20. The system of claim 18, wherein a the network is a spatial network.
 21. The system of claim 18, wherein the GIS is configured to perform the processing associated with analyzing the network by determining critical cells based on the association.
 22. The system of claim 18, wherein the GIS is configured to perform the processing associated with analyzing the network by determining the number of points in each of the cells.
 23. The system of claim 18, wherein the GIS is configured to perform the processing associated with analyzing the network by assigning a weight to each point of the point data.
 24. The system of claim 23, wherein the GIS is configured to perform processing associated with determining the total weight of points in each of the cells.
 25. The system of claim 18, wherein the GIS is configured to perform the processing associated with associating the point data with the cells by creating a second network based on the relationship of point data to cells.
 26. The system of claim 25, wherein the GIS is configured to perform processing associated with: creating a cell adjacency list based on which cells are adjacent to each other; and determining disjoint paths between cells based on the cell adjacency list.
 27. The system of claim 26, wherein the GIS is configured to perform processing associated with determining disjoint paths by calculating disjointness of paths utilizing the ratio of the sum of the common cells of the paths divided by the sum of the cells of the paths.
 28. The system of claim 18, wherein the network line data comprises: satellite imagery data; digitized map data; or any combination of the above.
 29. The system of claim 18, wherein the network line data comprises: static network data; dynamic network data; satellite network data; telecommunication data; marketing data; demographic data; business data; right-of-way routing data; regional location data; or any combination of the above.
 30. The system of claim 29, wherein the telecommunication data comprises: metropolitan area fiber data; long haul fiber data; co-location facilities data; internet exchanges data; wireless tower data; wire center data; undersea cables data; undersea cable landings data; data center data; or any combination of the above.
 31. The system of claim 29, wherein the right-of-way routing data comprises: gas pipeline data; oil pipeline data; highway data; rail data; electric power transmission lines data; or any combination of the above.
 32. The system of claim 29, wherein the static network data comprises: IP network data; network topology data; or any combination of the above.
 33. The system of claim 29, wherein the dynamic network data comprises network traffic data.
 34. The system of claim 18, wherein the network line data is obtained by: purchasing data; manually constructing data; mining data from external sources; probing networks; tracing networks; accessing proprietary data; digitizing hard copy data; or any combination of the above.
 35. The system of claim 29, wherein the regional location data includes at least one of: continent information; nation information; state information; county information; zip code information; census block information; census track information; time information; metropolitan information; functional information; or any combination of the above.
 36. The system of claim 35, wherein the functional information is defined using at least one of: a formula; a federal reserve bank region; a trade zone; a census region; a monetary region; or any combination of the above. 